package com.mjkj.demo.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.mjkj.demo.annotation.DataSource;
import com.mjkj.demo.core.result.Result;
import com.mjkj.demo.enums.DataSourceType;
import com.mjkj.demo.model.entity.Users;
import com.mjkj.demo.model.req.LoginReq;
import com.mjkj.demo.model.req.UserReq;
import com.mjkj.demo.model.vo.LoginVo;
import com.mjkj.demo.model.vo.UserVo;

import java.util.List;

/**
 * @author XuDoom
 * @version 1.0
 * @date 2023/11/30 14:56
 */
@DataSource(value = DataSourceType.MASTER)
public interface UserService extends IService<Users> {

    /**
     * 登录
     *
     * @param loginReq 登录为黑色
     * @return {@code Result<LoginVo>}
     */
    Result<LoginVo> login(LoginReq loginReq);

    /**
     * 列出用户
     *
     * @return {@code List<UserVo>}
     */
    List<UserVo> listUser();

    /**
     * 添加用户
     *
     * @param userReq 用户需求
     */
    void addUser(UserReq userReq);

    /**
     * 更新用户
     *
     * @param userReq 用户需求
     */
    void updateUser(UserReq userReq);
}
